package com.bestcem.xm.ticket.entity.mysql;

import com.bestcem.xm.ticket.enums.TicketFlowMatchConditionEnum;
import com.bestcem.xm.ticket.enums.TicketFlowStatusEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 工单规则跟进处理人配置记录
 * 问卷项目->开启提醒->工单规则->具体工单规则->跟进处理->通知且跟进->设置处理人
 * 一个工单规则配置对应一条跟进处理人配置, 多个跟进人的信息都存在 followConfig 列表里
 *
 * @author XiaoYunSong <ys.xiao@idiaoyan.com>
 * @version v1.0
 * @date 2021/8/10 16:13
 */
@ToString(callSuper = true)
@Getter
@Setter
public class TicketFlowDO extends BaseDO {
    private static final long serialVersionUID = 1L;
    /**
     * 实体标识
     */
    private String ticketFlowId;

    /**
     * orgId
     */
    private String orgId;

    /**
     * userId
     */
    private String userId;

    /**
     * ticketConfigId
     */
    private String ticketConfigId;

    /**
     * flowId 工单流程序列号
     */
    private Integer flowId;

    /**
     * title
     */
    private String title;

    /**
     * status
     *
     * @see TicketFlowStatusEnum
     */
    private Integer status;

    /**
     * matchCondition
     *
     * @see TicketFlowMatchConditionEnum
     */
    private Integer matchCondition;

    /**
     * alertRuleIds ObjectId 数组
     */
    private String alertRuleIds;

    /**
     * customRuleIds
     */
    private String customRuleIds;

    /**
     * priority 工单流程的优先级 数字越小优先级越高
     */
    private Integer priority;

    /**
     * 保存每个跟进人的详细配置, 注意数组内元素的顺序, 第一个元素就是第一跟进人, 第二个就是第二跟进人, 最多两个跟进人
     */
    private String followConfig;

    /**
     * 工单是否需要审核
     */
    private Boolean needAudit;

    /**
     * auditConfig
     * <p>
     * 这个字段我不知道怎么写, python里面是 dict 类型, 但是库里没有数据, 所以我不知道到底是个什么样子
     * 沟通记录: @赵明: 这个是历史字段，现在不用了，历史数据是什么样的我也不知道
     * 补充: @刘广云: 复制样类代码显示它是FollowConfig类型
     */
    private String auditConfig;

    /**
     * version
     */
    private Integer version;

    /**
     * 工单流程规则列表
     */
    private String ruleList;

    /**
     * 是否是sample数据
     */
    private Boolean sample;
}
